import request from '@/utils/request'
import { Cart, CartItemResponse } from '@/type/cart'

const api_name = '/cart'

export default {
  /**
   * 添加购物车
   * @param item 购物车商品
   * @returns 
   */
  addCart(item : Cart) {
    return request({
      url: `${api_name}/add`,
      method: 'post',
      data: item
    })
  },
  /**
   * 获取购物车列表
   * @returns 
   */
  getCartList(): Promise<{ data: { data: CartItemResponse[] } }> {
    return request.get(`${api_name}/list`)
  },
  /**
   * 更新购物车
   * @param cart 购物车商品
   * @returns 
   */
  updateCart(cart: Cart) {
    return request.put(`${api_name}/update`, cart)
  },
  /**
   * 删除购物车商品
   * @param productId 商品id
   * @returns 
   */
  deleteCart(productId: number) {
    return request.delete(`${api_name}/delete/${productId}`)
  },
}
